package tur.br.moradadosol.view.form;

import java.util.ArrayList;
import java.util.Calendar;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import tur.br.moradadosol.util.Util;

public class GradeDisponibilidadeForm extends ActionForm {
	
	private String proximo;
	private String anterior;
	private String pesquisar;
	private Calendar inicioPesquisa;
	private Calendar inicio;
	private Calendar fim;
	private ArrayList grade;
	
	
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		setProximo("");
		setAnterior("");
		setPesquisar("");
	}


	public String getProximo() {
		return proximo;
	}


	public void setProximo(String proximo) {
		this.proximo = proximo;
	}


	public String getAnterior() {
		return anterior;
	}


	public void setAnterior(String anterior) {
		this.anterior = anterior;
	}


	public String getPesquisar() {
		return pesquisar;
	}


	public void setPesquisar(String pesquisar) {
		this.pesquisar = pesquisar;
	}


	public Calendar getInicio() {
		return inicio;
	}


	public void setInicio(Calendar inicio) {
		this.inicio = inicio;
	}


	public Calendar getFim() {
		return fim;
	}


	public void setFim(Calendar fim) {
		this.fim = fim;
	}


	public ArrayList getGrade() {
		return grade;
	}


	public void setGrade(ArrayList grade) {
		this.grade = grade;
	}
	

	public String getInicioFormatado() {
		return Util.getDate(inicio);
	}


	public void setInicioFormatado(String inicio) {
		this.inicio = Util.getDate(inicio);
	}


	public String getFimFormatado() {
		return Util.getDate(fim);
	}


	public void setFimFormatado(String fim) {
		this.fim = Util.getDate(fim);
	}


	public String getInicioPesquisa() {
		return Util.getDate(inicioPesquisa);
	}


	public void setInicioPesquisa(String inicioPesquisa) {
		this.inicioPesquisa = Util.getDate(inicioPesquisa);
	}

	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {
		
		ActionErrors errors = new ActionErrors();
		
		if(getPesquisar().length() > 0) {
			if(inicioPesquisa == null) {
				errors.add("error.grade.disponibilidade", 
					new ActionMessage("error.grade.disponibilidade.inicio.required"));
			}
		}
		
		return errors;
	}
}
